import axios from 'axios'
import { Notify } from 'vant';
let baseURL = import.meta.env.VITE_BASE_URL

// 创建axios的一个实例
const request = axios.create({
    baseURL,
    timeout: 5000,
})

// 给实例添加请求拦截器
request.interceptors.request.use(config => {
    config.headers.token = localStorage.getItem('token') || '';
    return config;
}, (err) => {
    return Promise.reject(err)
})

// 给实例添加请求响应拦截器
request.interceptors.response.use((res) => {
    // 响应内容中有token就自动存储到本地存储
    if (res.data?.data?.token) {
        localStorage.setItem('token', res.data.data.token)
    }
    // 响应内容中有message提示信息
    if (res.data?.message) {
        const type = res.data.code == 200 ? 'success' : 'danger';
        // vant 里面的函数组件 Notify
        Notify({
            message: res.data.message,
            type,
        })
    }
    // 把后端数据提前出来给then
    return res.data
}, (err) => {
    console.log(err);
    return Promise.reject(err)
})

// 后期使用这个实例发送请求，就会有上面的默认配置
export default request;